package it.univaq.mwt.arssa.business;

import it.univaq.mwt.arssa.business.model.Dipendente;
import it.univaq.mwt.arssa.business.model.ImgDipendenti;

import java.util.List;

public interface DipendentiService {
	
	List<Dipendente> cercaDipendenti();	
	Dipendente cercaDipendente(int id);	
	/*
	 * cercaDipendente(matricola) viene utilizzato nella action di inserimento di un dipendente...dopo aver creato un dipendente
	 * non sappiamo a priori il suo id,quindi dobbiamo utilizzare la matricola per ricavarlo.
	 */
	Dipendente cercaDipendente(String matricola); 
	ImgDipendenti cercaImmagine(int idDipendente);
	
	void modificaDipendente(Dipendente dipendente);
	void modificaFotoDipendente(ImgDipendenti imgdipendente);
	
	void inserisciDipendente(Dipendente dipendente);
	void inserisciFotoDipendente (ImgDipendenti imgdipendente);
	
	void eliminaFotoDipendente(int idDipendente);
	void eliminaDipendente(int idDipendente);
	
	int calcolaFerieRimanenti(int idDipendente);
	void aggiornaFerie();
	
	/* 
	 * Controllo per campi form
	 * Ciascuna funzione restituisce true se esite
	 */
	boolean verificaUsername(String username);
	boolean verificaCodiceFiscale(String codiceFiscale);
	boolean verificaNomeCognome(String nome,String cognome);
	boolean verificaMatricola(String matricola);
	boolean verificaEmail(String email);
	boolean verificaCellulare(String cellulare);

	
}
